rh
main$gender <- ifelse(main$gender=="F", 0, 1)
main$ins_iv[is.na(main$ins_iv)] <- 0
main$ins_sc[is.na(main$ins_sc)] <- 0
main <- main[!is.na(main$icustay_id), ] # remove 1071 w/o ICU admissions
main <- main[!is.na(main$rh), ] # remove 902 w/o two or more glucose
main2 <- convert.bin.fac(main)
main2$age_cat <- cut2(main2$age, g=4)
main2$sofa_cat <- cut2(main2$sofa_1, g=4)
main2$rh_cat <- cut2(main2$rh_freq, c(0, 1, 3, 5))
main2$rrh_cat <- cut2(main2$rrh_freq, c(0, 1, 3, 5))
#main2$rh_cat <- cut2(main2$rh_freq, g=3)
#main2$rrh_cat <- cut2(main2$rrh_freq, g=3)
table(main2$rh_cat)
##
## 0 [ 1, 3) [ 3, 5) [ 5,19]
## 39377 8432 828 186
table(main2$rrh_cat)
##
## 0 [ 1, 3) [ 3, 5) [ 5,11]
## 42338 6047 375 63
summary(main2)
## hadm_id icustay_id subject_id age
## Min. :100001 Min. :200001 Min. : 3 Min. :18.0
## 1st Qu.:124924 1st Qu.:225040 1st Qu.:13258 1st Qu.:53.0
## Median :150126 Median :250114 Median :26672 Median :66.0
## Mean :150015 Mean :250068 Mean :36782 Mean :64.1
## 3rd Qu.:175086 3rd Qu.:275104 3rd Qu.:60144 3rd Qu.:78.0
## Max. :199999 Max. :299999 Max. :99999 Max. :91.4
##
## gender dm type_dm a1c_pre_icu sofa_1
## 0:21365 0:30755 Min. :1.00 Min. : 3.8 Min. : 0.000
## 1:27458 1:18068 1st Qu.:2.00 1st Qu.: 5.6 1st Qu.: 0.000
## Median :2.00 Median : 6.0 Median : 2.000
## Mean :1.88 Mean : 6.5 Mean : 2.924
## 3rd Qu.:2.00 3rd Qu.: 6.8 3rd Qu.: 5.000
## Max. :2.00 Max. :19.0 Max. :15.000
## NA's :35123 NA's :43425
## elixhauser_hospital elixhauser_28day survival_day icu_los
## Min. :-25.000 Min. :-20.00 Min. : -3.0 Min. : 0.0001
## 1st Qu.: -1.000 1st Qu.: 0.00 1st Qu.: 17.0 1st Qu.: 1.2125
## Median : 1.000 Median : 3.00 Median : 145.0 Median : 2.1334
## Mean : 2.486 Mean : 3.75 Mean : 512.7 Mean : 4.0924
## 3rd Qu.: 6.000 3rd Qu.: 8.00 3rd Qu.: 715.0 3rd Qu.: 4.1369
## Max. : 33.000 Max. : 38.00 Max. :4169.0 Max. :153.9280
## NA's :9 NA's :9 NA's :27348 NA's :3
## hosp_los mort28 mort90 mort365 admit_time
## Min. : -0.8333 0:42244 0:39391 0:35230 Length:48823
## 1st Qu.: 4.0833 1: 6579 1: 9432 1:13593 Class :character
## Median : 6.9583 Mode :character
## Mean : 10.0637
## 3rd Qu.: 12.0000
## Max. :294.6250
##
## disch_time icu_intime icu_outtime lac_mean
## Length:48823 Length:48823 Length:48823 Min. : 0.300
## Class :character Class :character Class :character 1st Qu.: 1.300
## Mode :character Mode :character Mode :character Median : 1.800
## Mean : 2.202
## 3rd Qu.: 2.500
## Max. :24.800
## NA's :15323
## lac_max lac_min lac_sd ins tpn
## Min. : 0.300 Min. : 0.000 Min. : 0.000 0:24253 0:46393
## 1st Qu.: 1.600 1st Qu.: 0.900 1st Qu.: 0.338 1:24570 1: 2430
## Median : 2.300 Median : 1.200 Median : 0.636
## Mean : 3.192 Mean : 1.518 Mean : 0.952
## 3rd Qu.: 3.600 3rd Qu.: 1.700 3rd Qu.: 1.176
## Max. :36.000 Max. :24.100 Max. :19.021
## NA's :15323 NA's :15323 NA's :24580
## vasop ventilat glu_mean glu_max glu_min
## 0:46506 0:24630 Min. : 29.5 Min. : 40.0 Min. :-251.00
## 1: 2317 1:24193 1st Qu.:109.9 1st Qu.: 143.0 1st Qu.: 75.00
## Median :124.3 Median : 178.0 Median : 87.00
## Mean :133.4 Mean : 214.7 Mean : 88.38
## 3rd Qu.:144.8 3rd Qu.: 235.0 3rd Qu.: 99.00
## Max. :745.1 Max. :3565.0 Max. : 621.00
##
## hypoglycemia hypoglycemia_freq hyperglycemia hyperglycemia_freq rh
## 0:39359 Min. : 0.0000 0:25160 Min. : 0.000 0:39377
## 1: 9464 1st Qu.: 0.0000 1:23663 1st Qu.: 0.000 1: 9446
## Median : 0.0000 Median : 0.000
## Mean : 0.4173 Mean : 2.002
## 3rd Qu.: 0.0000 3rd Qu.: 2.000
## Max. :37.0000 Max. :97.000
##
## rh_freq rrh rrh_freq hypo_after_rh
## Min. : 0.0000 0:42338 Min. : 0.0000 0:48823
## 1st Qu.: 0.0000 1: 6485 1st Qu.: 0.0000
## Median : 0.0000 Median : 0.0000
## Mean : 0.2926 Mean : 0.1791
## 3rd Qu.: 0.0000 3rd Qu.: 0.0000
## Max. :19.0000 Max. :11.0000
##
## hypo_after_rrh rh_after_hyper ins_iv ins_sc age_cat
## 0:48823 0:48647 0:31473 0:37949 [18,54.0):12725
## 1: 176 1:17350 1:10874 [54,67.0):12524
## [67,79.0):12086
## [79,91.4]:11488
##
##
##
## sofa_cat rh_cat rrh_cat
## 0 :14259 0 :39377 0 :42338
## [1, 3):10961 [ 1, 3): 8432 [ 1, 3): 6047
## [3, 6):13884 [ 3, 5): 828 [ 3, 5): 375
## [6,15]: 9719 [ 5,19]: 186 [ 5,11]: 63
##
##
##
#tapply(main2$dm, main2$mort28, summary)
# CreateTableOne(vars=c("age", "gender", "dm", "type_dm", "sofa_1", "elixhauser_hospital", "ins_mean", "tpn", "vasop", "ventilat", "mort28"),
# strata="mort28",
# data=main2, test=TRUE)
Compute the OR of 28/90/365-day mortality between diabetes(-/+).
CreateTableOne(vars=c("age", "gender", "a1c_pre_icu", "sofa_1", "elixhauser_hospital",
"hypoglycemia", "hypoglycemia_freq", "hyperglycemia", "hyperglycemia_freq",
"rh", "rh_freq", "rrh", "rrh_freq",
"ins", "ins_iv", "ins_sc", "tpn", "vasop", "ventilat",
"mort28", "mort90", "mort365",
"survival_day", "icu_los", "hosp_los"),
strata=c("dm"),
data=main2, test=TRUE) %>% print(
printToggle = FALSE,
showAllLevels = TRUE,
cramVars = "kon"
) %>% {data.frame(
variable_name = gsub(" ", " ", rownames(.), fixed = TRUE), .,
row.names = NULL,
check.names = FALSE,
stringsAsFactors = FALSE)} %>% knitr::kable()
| variable_name | level | 0 | 1 | p | test |
|---|---|---|---|---|---|
| n | 30755 | 18068 | |||
| age (mean (sd)) | 62.93 (18.43) | 66.09 (14.94) | <0.001 | ||
| gender (%) | 0 | 13408 (43.6) | 7957 (44.0) | 0.346 | |
| 1 | 17347 (56.4) | 10111 (56.0) | |||
| a1c_pre_icu (mean (sd)) | 5.71 (0.41) | 7.30 (1.85) | <0.001 | ||
| sofa_1 (mean (sd)) | 2.95 (2.83) | 2.88 (2.85) | 0.014 | ||
| elixhauser_hospital (mean (sd)) | 2.63 (6.27) | 2.23 (6.49) | <0.001 | ||
| hypoglycemia (%) | 0 | 26536 (86.3) | 12823 (71.0) | <0.001 | |
| 1 | 4219 (13.7) | 5245 (29.0) | |||
| hypoglycemia_freq (mean (sd)) | 0.28 (1.04) | 0.65 (1.57) | <0.001 | ||
| hyperglycemia (%) | 0 | 20125 (65.4) | 5035 (27.9) | <0.001 | |
| 1 | 10630 (34.6) | 13033 (72.1) | |||
| hyperglycemia_freq (mean (sd)) | 0.96 (2.41) | 3.77 (5.36) | <0.001 | ||
| rh (%) | 0 | 25926 (84.3) | 13451 (74.4) | <0.001 | |
| 1 | 4829 (15.7) | 4617 (25.6) | |||
| rh_freq (mean (sd)) | 0.22 (0.63) | 0.42 (0.94) | <0.001 | ||
| rrh (%) | 0 | 27356 (88.9) | 14982 (82.9) | <0.001 | |
| 1 | 3399 (11.1) | 3086 (17.1) | |||
| rrh_freq (mean (sd)) | 0.14 (0.47) | 0.24 (0.63) | <0.001 | ||
| ins (%) | 0 | 18079 (58.8) | 6174 (34.2) | <0.001 | |
| 1 | 12676 (41.2) | 11894 (65.8) | |||
| ins_iv (%) | 0 | 21822 (71.0) | 9651 (53.4) | <0.001 | |
| 1 | 8933 (29.0) | 8417 (46.6) | |||
| ins_sc (%) | 0 | 25904 (84.2) | 12045 (66.7) | <0.001 | |
| 1 | 4851 (15.8) | 6023 (33.3) | |||
| tpn (%) | 0 | 29168 (94.8) | 17225 (95.3) | 0.016 | |
| 1 | 1587 ( 5.2) | 843 ( 4.7) | |||
| vasop (%) | 0 | 29397 (95.6) | 17109 (94.7) | <0.001 | |
| 1 | 1358 ( 4.4) | 959 ( 5.3) | |||
| ventilat (%) | 0 | 15453 (50.2) | 9177 (50.8) | 0.248 | |
| 1 | 15302 (49.8) | 8891 (49.2) | |||
| mort28 (%) | 0 | 26632 (86.6) | 15612 (86.4) | 0.568 | |
| 1 | 4123 (13.4) | 2456 (13.6) | |||
| mort90 (%) | 0 | 24984 (81.2) | 14407 (79.7) | <0.001 | |
| 1 | 5771 (18.8) | 3661 (20.3) | |||
| mort365 (%) | 0 | 22625 (73.6) | 12605 (69.8) | <0.001 | |
| 1 | 8130 (26.4) | 5463 (30.2) | |||
| survival_day (mean (sd)) | 501.58 (751.67) | 528.60 (743.80) | 0.009 | ||
| icu_los (mean (sd)) | 3.95 (5.83) | 4.33 (6.26) | <0.001 | ||
| hosp_los (mean (sd)) | 9.78 (10.83) | 10.54 (10.83) | <0.001 |
# prop.table(table(main2$dm, main2$mort28, dnn=c("DM", "28-day Mortality")), 1)
# prop.table(table(main2$dm, main2$mort90, dnn=c("DM", "90-day Mortality")), 1)
# prop.table(table(main2$dm, main2$mort365, dnn=c("DM", "365-day Mortality")), 1)
CreateTableOne(vars=c("mort28", "mort90", "mort365"),
strata=c("dm"),
data=main2, test=TRUE)
## Stratified by dm
## 0 1 p test
## n 30755 18068
## mort28 = 1 (%) 4123 (13.4) 2456 (13.6) 0.568
## mort90 = 1 (%) 5771 (18.8) 3661 (20.3) <0.001
## mort365 = 1 (%) 8130 (26.4) 5463 (30.2) <0.001
# par(mfrow=c(1, 3))
# plot(main2$dm, main2$mort28, xlab="DM", ylab="28-day Mortality")
# plot(main2$dm, main2$mort90, xlab="DM", ylab="90-day Mortality")
# plot(main2$dm, main2$mort365, xlab="DM", ylab="365-day Mortality")
#
# p1 <- plot_prop_by_level(main2, "dm", "mort28")
# p2 <- plot_prop_by_level(main2, "dm", "mort90")
# p3 <- plot_prop_by_level(main2, "dm", "mort365")
# grid.arrange(p1, p2, p3, ncol=3)
o1 <- plot_OR_by_level(main2, "dm", "mort28", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "dm", "mort90", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "dm", "mort365", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
# t.test(main2[main2$dm==0, ], main2[main2$dm==1, ],
# alternative="two.sided", var.equal=FALSE, paired=FALSE)
summary(fit.glm <- glm(mort28 ~ dm, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ dm, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.5406 -0.5406 -0.5365 -0.5365 2.0047
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.86553 0.01674 -111.469 <2e-16 ***
## dm1 0.01603 0.02741 0.585 0.559
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38601 on 48821 degrees of freedom
## AIC: 38605
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1497982 0.1599552
## dm1 0.9629177 1.0721463
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ dm, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ dm, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6730 -0.6730 -0.6447 -0.6447 1.8293
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.46539 0.01460 -100.335 < 2e-16 ***
## dm1 0.09541 0.02358 4.047 5.19e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47910 on 48821 degrees of freedom
## AIC: 47914
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2244502 0.2376753
## dm1 1.0503819 1.1520875
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ dm, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ dm, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8486 -0.8486 -0.7836 1.5467 1.6313
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.02349 0.01293 -79.153 <2e-16 ***
## dm1 0.18740 0.02073 9.042 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57671 on 48821 degrees of freedom
## AIC: 57675
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3503268 0.3685418
## dm1 1.1580697 1.2560875
sjp.glm(fit.glm)
## Waiting for profiling to be done...
## Warning: Removed 1 rows containing missing values (geom_hline).
Compute the OR of 28/90/365-day mortality between different RH groups.
CreateTableOne(vars=c("age", "gender", "a1c_pre_icu", "sofa_1", "elixhauser_hospital",
"hypoglycemia", "hypoglycemia_freq", "hyperglycemia", "hyperglycemia_freq",
"ins", "ins_iv", "ins_sc", "tpn", "vasop", "ventilat",
"mort28", "mort90", "mort365",
"survival_day", "icu_los", "hosp_los"),
strata=c("rh_cat"),
data=main2, test=TRUE) %>% print(
printToggle = FALSE,
showAllLevels = TRUE,
cramVars = "kon"
) %>% {data.frame(
variable_name = gsub(" ", " ", rownames(.), fixed = TRUE), .,
row.names = NULL,
check.names = FALSE,
stringsAsFactors = FALSE)} %>% knitr::kable()
| variable_name | level | 0 | [ 1, 3) | [ 3, 5) | [ 5,19] | p | test |
|---|---|---|---|---|---|---|---|
| n | 39377 | 8432 | 828 | 186 | |||
| age (mean (sd)) | 64.28 (17.46) | 63.48 (16.54) | 62.39 (16.62) | 61.89 (15.80) | <0.001 | ||
| gender (%) | 0 | 17259 (43.8) | 3610 (42.8) | 404 (48.8) | 92 ( 49.5) | 0.003 | |
| 1 | 22118 (56.2) | 4822 (57.2) | 424 (51.2) | 94 ( 50.5) | |||
| a1c_pre_icu (mean (sd)) | 6.36 (1.34) | 6.67 (1.74) | 7.40 (2.53) | 6.61 (1.19) | <0.001 | ||
| sofa_1 (mean (sd)) | 2.57 (2.67) | 4.36 (2.97) | 4.70 (3.48) | 5.10 (3.37) | <0.001 | ||
| elixhauser_hospital (mean (sd)) | 2.51 (6.39) | 2.33 (6.28) | 2.60 (5.84) | 4.46 (5.28) | <0.001 | ||
| hypoglycemia (%) | 0 | 33211 (84.3) | 5769 (68.4) | 358 (43.2) | 21 ( 11.3) | <0.001 | |
| 1 | 6166 (15.7) | 2663 (31.6) | 470 (56.8) | 165 ( 88.7) | |||
| hypoglycemia_freq (mean (sd)) | 0.30 (0.94) | 0.72 (1.69) | 1.74 (2.70) | 5.89 (5.89) | <0.001 | ||
| hyperglycemia (%) | 0 | 23626 (60.0) | 1512 (17.9) | 22 ( 2.7) | 0 ( 0.0) | <0.001 | |
| 1 | 15751 (40.0) | 6920 (82.1) | 806 (97.3) | 186 (100.0) | |||
| hyperglycemia_freq (mean (sd)) | 1.32 (2.79) | 4.06 (5.16) | 9.25 (8.38) | 20.10 (14.85) | <0.001 | ||
| ins (%) | 0 | 21858 (55.5) | 2310 (27.4) | 84 (10.1) | 1 ( 0.5) | <0.001 | |
| 1 | 17519 (44.5) | 6122 (72.6) | 744 (89.9) | 185 ( 99.5) | |||
| ins_iv (%) | 0 | 28217 (71.7) | 3143 (37.3) | 110 (13.3) | 3 ( 1.6) | <0.001 | |
| 1 | 11160 (28.3) | 5289 (62.7) | 718 (86.7) | 183 ( 98.4) | |||
| ins_sc (%) | 0 | 31074 (78.9) | 6105 (72.4) | 616 (74.4) | 154 ( 82.8) | <0.001 | |
| 1 | 8303 (21.1) | 2327 (27.6) | 212 (25.6) | 32 ( 17.2) | |||
| tpn (%) | 0 | 38017 (96.5) | 7640 (90.6) | 631 (76.2) | 105 ( 56.5) | <0.001 | |
| 1 | 1360 ( 3.5) | 792 ( 9.4) | 197 (23.8) | 81 ( 43.5) | |||
| vasop (%) | 0 | 38084 (96.7) | 7636 (90.6) | 675 (81.5) | 111 ( 59.7) | <0.001 | |
| 1 | 1293 ( 3.3) | 796 ( 9.4) | 153 (18.5) | 75 ( 40.3) | |||
| ventilat (%) | 0 | 22458 (57.0) | 1986 (23.6) | 170 (20.5) | 16 ( 8.6) | <0.001 | |
| 1 | 16919 (43.0) | 6446 (76.4) | 658 (79.5) | 170 ( 91.4) | |||
| mort28 (%) | 0 | 34120 (86.6) | 7243 (85.9) | 728 (87.9) | 153 ( 82.3) | 0.054 | |
| 1 | 5257 (13.4) | 1189 (14.1) | 100 (12.1) | 33 ( 17.7) | |||
| mort90 (%) | 0 | 31853 (80.9) | 6784 (80.5) | 641 (77.4) | 113 ( 60.8) | <0.001 | |
| 1 | 7524 (19.1) | 1648 (19.5) | 187 (22.6) | 73 ( 39.2) | |||
| mort365 (%) | 0 | 28354 (72.0) | 6220 (73.8) | 571 (69.0) | 85 ( 45.7) | <0.001 | |
| 1 | 11023 (28.0) | 2212 (26.2) | 257 (31.0) | 101 ( 54.3) | |||
| survival_day (mean (sd)) | 497.97 (727.62) | 571.63 (820.11) | 664.10 (918.84) | 368.06 (685.60) | <0.001 | ||
| icu_los (mean (sd)) | 3.49 (4.63) | 5.77 (7.82) | 11.52 (13.88) | 22.84 (21.81) | <0.001 | ||
| hosp_los (mean (sd)) | 8.96 (9.05) | 13.47 (13.48) | 21.41 (22.05) | 38.62 (30.27) | <0.001 |
# prop.table(table(main2$rh, main2$mort28, dnn=c("RH", "28-day Mortality")), 1)
# prop.table(table(main2$rh, main2$mort90, dnn=c("RH", "90-day Mortality")), 1)
# prop.table(table(main2$rh, main2$mort365, dnn=c("RH", "365-day Mortality")), 1)
CreateTableOne(vars=c("mort28", "mort90", "mort365"),
strata=c("rh_cat"),
data=main2, test=TRUE)
## Stratified by rh_cat
## 0 [ 1, 3) [ 3, 5) [ 5,19]
## n 39377 8432 828 186
## mort28 = 1 (%) 5257 (13.4) 1189 (14.1) 100 (12.1) 33 (17.7)
## mort90 = 1 (%) 7524 (19.1) 1648 (19.5) 187 (22.6) 73 (39.2)
## mort365 = 1 (%) 11023 (28.0) 2212 (26.2) 257 (31.0) 101 (54.3)
## Stratified by rh_cat
## p test
## n
## mort28 = 1 (%) 0.054
## mort90 = 1 (%) <0.001
## mort365 = 1 (%) <0.001
# par(mfrow=c(1, 3))
# plot(main2$rh_cat, main2$mort28, xlab="RH", ylab="28-day Mortality")
# plot(main2$rh_cat, main2$mort90, xlab="RH", ylab="90-day Mortality")
# plot(main2$rh_cat, main2$mort365, xlab="RH", ylab="365-day Mortality")
#
# p1 <- plot_prop_by_level(main2, "rh_cat", "mort28", factor.var2="dm")
# p2 <- plot_prop_by_level(main2, "rh_cat", "mort90", factor.var2="dm")
# p3 <- plot_prop_by_level(main2, "rh_cat", "mort365", factor.var2="dm")
# grid.arrange(p1, p2, p3, ncol=3)
o1 <- plot_OR_by_level(main2, "rh_cat", "mort28", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "rh_cat", "mort90", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "rh_cat", "mort365", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
summary(fit.glm <- glm(mort28 ~ rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.5491 -0.5353 -0.5353 -0.5353 2.0068
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.87032 0.01482 -126.232 <2e-16 ***
## rh1 0.05465 0.03315 1.648 0.0993 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38599 on 48821 degrees of freedom
## AIC: 38603
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1496484 0.1585975
## rh1 0.9894168 1.1267341
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6718 -0.6512 -0.6512 -0.6512 1.8194
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.44303 0.01282 -112.578 <2e-16 ***
## rh1 0.06913 0.02865 2.413 0.0158 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47920 on 48821 degrees of freedom
## AIC: 47924
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2303346 0.2422039
## rh1 1.0128623 1.1332717
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8105 -0.8105 -0.8105 1.5957 1.6135
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.94478 0.01122 -84.172 <2e-16 ***
## rh1 -0.03935 0.02570 -1.531 0.126
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57750 on 48821 degrees of freedom
## AIC: 57754
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3802907 0.3973968
## rh1 0.9140765 1.0109672
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort28 ~ rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6250 -0.5353 -0.5353 -0.5353 2.0561
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.87032 0.01482 -126.232 <2e-16 ***
## rh_cat[ 1, 3) 0.06340 0.03462 1.831 0.0671 .
## rh_cat[ 3, 5) -0.11481 0.10767 -1.066 0.2863
## rh_cat[ 5,19] 0.33639 0.19251 1.747 0.0806 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38594 on 48819 degrees of freedom
## AIC: 38602
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1496484 0.1585975
## rh_cat[ 1, 3) 0.9952003 1.1398688
## rh_cat[ 3, 5) 0.7178496 1.0952928
## rh_cat[ 5,19] 0.9442578 2.0132919
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9984 -0.6512 -0.6512 -0.6512 1.8194
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.44303 0.01282 -112.578 < 2e-16 ***
## rh_cat[ 1, 3) 0.02803 0.03031 0.925 0.3550
## rh_cat[ 3, 5) 0.21111 0.08409 2.510 0.0121 *
## rh_cat[ 5,19] 1.00611 0.15071 6.676 2.46e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47880 on 48819 degrees of freedom
## AIC: 47888
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2303346 0.2422039
## rh_cat[ 1, 3) 0.9688894 1.0911177
## rh_cat[ 3, 5) 1.0447940 1.4530446
## rh_cat[ 5,19] 2.0280928 3.6653657
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2515 -0.8105 -0.8105 1.5957 1.6359
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.94478 0.01122 -84.172 < 2e-16 ***
## rh_cat[ 1, 3) -0.08909 0.02718 -3.278 0.00105 **
## rh_cat[ 3, 5) 0.14647 0.07595 1.929 0.05379 .
## rh_cat[ 5,19] 1.11725 0.14762 7.568 3.78e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57680 on 48819 degrees of freedom
## AIC: 57688
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3802907 0.3973968
## rh_cat[ 1, 3) 0.8671747 0.9646785
## rh_cat[ 3, 5) 0.9962092 1.3418586
## rh_cat[ 5,19] 2.2901436 4.0888922
sjp.glm(fit.glm)
## Waiting for profiling to be done...
Compute the OR of 28/90/365-day mortality between different RRH groups.
CreateTableOne(vars=c("age", "gender", "a1c_pre_icu", "sofa_1", "elixhauser_hospital",
"hypoglycemia", "hypoglycemia_freq", "hyperglycemia", "hyperglycemia_freq",
"ins", "ins_iv", "ins_sc", "tpn", "vasop", "ventilat",
"mort28", "mort90", "mort365",
"survival_day", "icu_los", "hosp_los"),
strata=c("rrh_cat"),
data=main2, test=TRUE) %>% print(
printToggle = FALSE,
showAllLevels = TRUE,
cramVars = "kon"
) %>% {data.frame(
variable_name = gsub(" ", " ", rownames(.), fixed = TRUE), .,
row.names = NULL,
check.names = FALSE,
stringsAsFactors = FALSE)} %>% knitr::kable()
| variable_name | level | 0 | [ 1, 3) | [ 3, 5) | [ 5,11] | p | test |
|---|---|---|---|---|---|---|---|
| n | 42338 | 6047 | 375 | 63 | |||
| age (mean (sd)) | 64.29 (17.40) | 62.90 (16.47) | 62.54 (16.26) | 62.11 (16.77) | <0.001 | ||
| gender (%) | 0 | 18538 (43.8) | 2605 (43.1) | 191 (50.9) | 31 ( 49.2) | 0.021 | |
| 1 | 23800 (56.2) | 3442 (56.9) | 184 (49.1) | 32 ( 50.8) | |||
| a1c_pre_icu (mean (sd)) | 6.42 (1.41) | 6.65 (1.75) | 7.53 (2.80) | 6.72 (1.42) | <0.001 | ||
| sofa_1 (mean (sd)) | 2.67 (2.73) | 4.55 (2.94) | 4.76 (3.40) | 5.51 (3.45) | <0.001 | ||
| elixhauser_hospital (mean (sd)) | 2.56 (6.40) | 1.92 (6.03) | 2.47 (5.80) | 5.13 (5.19) | <0.001 | ||
| hypoglycemia (%) | 0 | 35198 (83.1) | 4019 (66.5) | 137 (36.5) | 5 ( 7.9) | <0.001 | |
| 1 | 7140 (16.9) | 2028 (33.5) | 238 (63.5) | 58 ( 92.1) | |||
| hypoglycemia_freq (mean (sd)) | 0.33 (1.03) | 0.82 (1.88) | 2.27 (3.40) | 7.65 (6.91) | <0.001 | ||
| hyperglycemia (%) | 0 | 24134 (57.0) | 1016 (16.8) | 10 ( 2.7) | 0 ( 0.0) | <0.001 | |
| 1 | 18204 (43.0) | 5031 (83.2) | 365 (97.3) | 63 (100.0) | |||
| hyperglycemia_freq (mean (sd)) | 1.56 (3.24) | 4.40 (5.70) | 10.37 (10.62) | 20.11 (15.32) | <0.001 | ||
| ins (%) | 0 | 22767 (53.8) | 1451 (24.0) | 34 ( 9.1) | 1 ( 1.6) | <0.001 | |
| 1 | 19571 (46.2) | 4596 (76.0) | 341 (90.9) | 62 ( 98.4) | |||
| ins_iv (%) | 0 | 29486 (69.6) | 1945 (32.2) | 40 (10.7) | 2 ( 3.2) | <0.001 | |
| 1 | 12852 (30.4) | 4102 (67.8) | 335 (89.3) | 61 ( 96.8) | |||
| ins_sc (%) | 0 | 33164 (78.3) | 4438 (73.4) | 290 (77.3) | 57 ( 90.5) | <0.001 | |
| 1 | 9174 (21.7) | 1609 (26.6) | 85 (22.7) | 6 ( 9.5) | |||
| tpn (%) | 0 | 40677 (96.1) | 5401 (89.3) | 280 (74.7) | 35 ( 55.6) | <0.001 | |
| 1 | 1661 ( 3.9) | 646 (10.7) | 95 (25.3) | 28 ( 44.4) | |||
| vasop (%) | 0 | 40734 (96.2) | 5438 (89.9) | 303 (80.8) | 31 ( 49.2) | <0.001 | |
| 1 | 1604 ( 3.8) | 609 (10.1) | 72 (19.2) | 32 ( 50.8) | |||
| ventilat (%) | 0 | 23375 (55.2) | 1183 (19.6) | 68 (18.1) | 4 ( 6.3) | <0.001 | |
| 1 | 18963 (44.8) | 4864 (80.4) | 307 (81.9) | 59 ( 93.7) | |||
| mort28 (%) | 0 | 36554 (86.3) | 5311 (87.8) | 330 (88.0) | 49 ( 77.8) | 0.002 | |
| 1 | 5784 (13.7) | 736 (12.2) | 45 (12.0) | 14 ( 22.2) | |||
| mort90 (%) | 0 | 34074 (80.5) | 4997 (82.6) | 285 (76.0) | 35 ( 55.6) | <0.001 | |
| 1 | 8264 (19.5) | 1050 (17.4) | 90 (24.0) | 28 ( 44.4) | |||
| mort365 (%) | 0 | 30331 (71.6) | 4627 (76.5) | 247 (65.9) | 25 ( 39.7) | <0.001 | |
| 1 | 12007 (28.4) | 1420 (23.5) | 128 (34.1) | 38 ( 60.3) | |||
| survival_day (mean (sd)) | 497.37 (730.56) | 629.44 (862.48) | 611.70 (852.84) | 244.67 (462.24) | <0.001 | ||
| icu_los (mean (sd)) | 3.71 (5.08) | 6.05 (8.62) | 11.77 (15.73) | 27.20 (24.24) | <0.001 | ||
| hosp_los (mean (sd)) | 9.37 (9.70) | 13.84 (14.49) | 22.69 (22.43) | 39.78 (34.60) | <0.001 |
# prop.table(table(main2$rrh, main2$mort28, dnn=c("RRH", "28-day Mortality")), 1)
# prop.table(table(main2$rrh, main2$mort90, dnn=c("RRH", "90-day Mortality")), 1)
# prop.table(table(main2$rrh, main2$mort365, dnn=c("RRH", "365-day Mortality")), 1)
CreateTableOne(vars=c("mort28", "mort90", "mort365"),
strata="rrh_cat",
data=main2, test=FALSE)
## Stratified by rrh_cat
## 0 [ 1, 3) [ 3, 5) [ 5,11]
## n 42338 6047 375 63
## mort28 = 1 (%) 5784 (13.7) 736 (12.2) 45 (12.0) 14 (22.2)
## mort90 = 1 (%) 8264 (19.5) 1050 (17.4) 90 (24.0) 28 (44.4)
## mort365 = 1 (%) 12007 (28.4) 1420 (23.5) 128 (34.1) 38 (60.3)
# par(mfrow=c(1, 3))
# plot(main2$rrh_cat, main2$mort28, xlab="RRH", ylab="28-day Mortality")
# plot(main2$rrh_cat, main2$mort90, xlab="RRH", ylab="90-day Mortality")
# plot(main2$rrh_cat, main2$mort365, xlab="RRH", ylab="365-day Mortality")
#
# p1 <- plot_prop_by_level(main2, "rrh_cat", "mort28", factor.var2="dm")
# p2 <- plot_prop_by_level(main2, "rrh_cat", "mort90", factor.var2="dm")
# p3 <- plot_prop_by_level(main2, "rrh_cat", "mort365", factor.var2="dm")
# grid.arrange(p1, p2, p3, ncol=3)
o1 <- plot_OR_by_level(main2, "rrh_cat", "mort28", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "rrh_cat", "mort90", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "rrh_cat", "mort365", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
summary(fit.glm <- glm(mort28 ~ rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.5420 -0.5420 -0.5420 -0.5114 2.0489
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.84370 0.01415 -130.288 < 2e-16 ***
## rrh1 -0.12443 0.04042 -3.078 0.00208 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38592 on 48821 degrees of freedom
## AIC: 38596
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1538889 0.1626666
## rrh1 0.8152508 0.9552405
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6590 -0.6590 -0.6590 -0.6302 1.8516
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.41663 0.01226 -115.531 < 2e-16 ***
## rrh1 -0.09899 0.03456 -2.864 0.00418 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47918 on 48821 degrees of freedom
## AIC: 47922
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2367577 0.2484158
## rrh1 0.8461104 0.9688845
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8167 -0.8167 -0.8167 1.5876 1.6783
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.92668 0.01078 -85.946 < 2e-16 ***
## rrh1 -0.20114 0.03084 -6.523 6.91e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57709 on 48821 degrees of freedom
## AIC: 57713
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3875751 0.4043073
## rrh1 0.7696542 0.8685507
#sjp.glm(fit.glm)
summary(fit.glm <- glm(mort28 ~ rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.7090 -0.5420 -0.5420 -0.5095 2.0593
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.84370 0.01415 -130.288 < 2e-16 ***
## rrh_cat[ 1, 3) -0.13261 0.04180 -3.173 0.00151 **
## rrh_cat[ 3, 5) -0.14874 0.15954 -0.932 0.35119
## rrh_cat[ 5,11] 0.59093 0.30338 1.948 0.05143 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38587 on 48819 degrees of freedom
## AIC: 38595
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1538889 0.1626666
## rrh_cat[ 1, 3) 0.8063788 0.9499684
## rrh_cat[ 3, 5) 0.6222577 1.1647193
## rrh_cat[ 5,11] 0.9594442 3.1819085
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.0842 -0.6590 -0.6590 -0.6176 1.8712
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.41663 0.01226 -115.531 < 2e-16 ***
## rrh_cat[ 1, 3) -0.14342 0.03610 -3.973 7.08e-05 ***
## rrh_cat[ 3, 5) 0.26395 0.12153 2.172 0.0299 *
## rrh_cat[ 5,11] 1.19348 0.25384 4.702 2.58e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47884 on 48819 degrees of freedom
## AIC: 47892
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2367577 0.2484158
## rrh_cat[ 1, 3) 0.8068694 0.9295173
## rrh_cat[ 3, 5) 1.0208289 1.6447957
## rrh_cat[ 5,11] 1.9913018 5.4139628
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.3596 -0.8167 -0.8167 1.5876 1.7023
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.92668 0.01078 -85.946 < 2e-16 ***
## rrh_cat[ 1, 3) -0.25457 0.03220 -7.907 2.64e-15 ***
## rrh_cat[ 3, 5) 0.26932 0.10944 2.461 0.0139 *
## rrh_cat[ 5,11] 1.34539 0.25774 5.220 1.79e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57652 on 48819 degrees of freedom
## AIC: 57660
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3875751 0.4043073
## rrh_cat[ 1, 3) 0.7276365 0.8255234
## rrh_cat[ 3, 5) 1.0536091 1.6187237
## rrh_cat[ 5,11] 2.3310295 6.4372281
sjp.glm(fit.glm)
## Waiting for profiling to be done...
Compute the OR of 28/90/365-day mortality between different RH groups AND diabetes(-/+).
CreateTableOne(vars=c("mort28", "mort90", "mort365"),
strata=c("dm", "rh_cat"),
data=main2, test=TRUE)
## Stratified by dm:rh_cat
## 0: 0 1: 0 0:[ 1, 3) 1:[ 1, 3)
## n 25926 13451 4442 3990
## mort28 = 1 (%) 3385 (13.1) 1872 (13.9) 673 (15.2) 516 (12.9)
## mort90 = 1 (%) 4738 (18.3) 2786 (20.7) 906 (20.4) 742 (18.6)
## mort365 = 1 (%) 6797 (26.2) 4226 (31.4) 1171 (26.4) 1041 (26.1)
## Stratified by dm:rh_cat
## 0:[ 3, 5) 1:[ 3, 5) 0:[ 5,19] 1:[ 5,19] p
## n 320 508 67 119
## mort28 = 1 (%) 50 (15.6) 50 ( 9.8) 15 (22.4) 18 (15.1) <0.001
## mort90 = 1 (%) 94 (29.4) 93 (18.3) 33 (49.3) 40 (33.6) <0.001
## mort365 = 1 (%) 122 (38.1) 135 (26.6) 40 (59.7) 61 (51.3) <0.001
## Stratified by dm:rh_cat
## test
## n
## mort28 = 1 (%)
## mort90 = 1 (%)
## mort365 = 1 (%)
main2$rh <- as.factor(main2$rh)
o1 <- plot_OR_by_level(main2, "dm", "mort28", factor.var2="rh", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "dm", "mort90", factor.var2="rh", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "dm", "mort365", factor.var2="rh", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
o1 <- plot_OR_by_level(main2, "dm", "mort28", factor.var2="rh_cat", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "dm", "mort90", factor.var2="rh_cat", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "dm", "mort365", factor.var2="rh_cat", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
summary(fit.glm <- glm(mort28 ~ dm + rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ dm + rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.5505 -0.5371 -0.5344 -0.5344 2.0084
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.87400 0.01759 -106.531 <2e-16 ***
## dm1 0.01074 0.02762 0.389 0.697
## rh1 0.05306 0.03340 1.589 0.112
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38599 on 48820 degrees of freedom
## AIC: 38605
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1482856 0.1588719
## dm1 0.9574531 1.0669250
## rh1 0.9873757 1.1255070
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ dm + rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ dm + rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6855 -0.6686 -0.6421 -0.6421 1.8333
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.47429 0.01533 -96.151 < 2e-16 ***
## dm1 0.08986 0.02375 3.783 0.000155 ***
## rh1 0.05587 0.02887 1.935 0.053009 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47906 on 48820 degrees of freedom
## AIC: 47912
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2221435 0.235905
## dm1 1.0442027 1.146109
## rh1 0.9990864 1.118821
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ dm + rh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ dm + rh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8548 -0.8306 -0.7872 1.5389 1.6572
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.01293 0.01352 -74.902 < 2e-16 ***
## dm1 0.19409 0.02088 9.295 < 2e-16 ***
## rh1 -0.06821 0.02592 -2.632 0.00849 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57664 on 48820 degrees of freedom
## AIC: 57670
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3536360 0.3728888
## dm1 1.1654888 1.2649051
## rh1 0.8876947 0.9826150
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort28 ~ dm + rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ dm + rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6262 -0.5373 -0.5344 -0.5344 2.0592
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.87429 0.01760 -106.508 <2e-16 ***
## dm1 0.01158 0.02764 0.419 0.6754
## rh_cat[ 1, 3) 0.06188 0.03481 1.777 0.0755 .
## rh_cat[ 3, 5) -0.11796 0.10793 -1.093 0.2745
## rh_cat[ 5,19] 0.33294 0.19268 1.728 0.0840 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38594 on 48818 degrees of freedom
## AIC: 38604
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1482412 0.1588282
## dm1 0.9582095 1.0678646
## rh_cat[ 1, 3) 0.9933160 1.1385630
## rh_cat[ 3, 5) 0.7152436 1.0924396
## rh_cat[ 5,19] 0.9407063 2.0071034
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ dm + rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ dm + rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.0104 -0.6677 -0.6426 -0.6426 1.8325
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.47265 0.01533 -96.045 < 2e-16 ***
## dm1 0.08522 0.02380 3.581 0.000342 ***
## rh_cat[ 1, 3) 0.01677 0.03048 0.550 0.582182
## rh_cat[ 3, 5) 0.18797 0.08435 2.228 0.025858 *
## rh_cat[ 5,19] 0.98102 0.15090 6.501 7.96e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47867 on 48818 degrees of freedom
## AIC: 47877
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2225084 0.2362923
## dm1 1.0392815 1.1409000
## rh_cat[ 1, 3) 0.9577248 1.0792562
## rh_cat[ 3, 5) 1.0203872 1.4205445
## rh_cat[ 5,19] 1.9771240 3.5758771
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ dm + rh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ dm + rh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.2813 -0.8134 -0.7877 1.5404 1.6772
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.01114 0.01353 -74.760 < 2e-16 ***
## dm1 0.18913 0.02092 9.041 < 2e-16 ***
## rh_cat[ 1, 3) -0.11434 0.02735 -4.180 2.91e-05 ***
## rh_cat[ 3, 5) 0.09517 0.07623 1.248 0.212
## rh_cat[ 5,19] 1.06293 0.14788 7.188 6.60e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57598 on 48818 degrees of freedom
## AIC: 57608
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3542670 0.3735566
## dm1 1.1596372 1.2587446
## rh_cat[ 1, 3) 0.8452661 0.9409359
## rh_cat[ 3, 5) 0.9458791 1.2754553
## rh_cat[ 5,19] 2.1679138 3.8746577
sjp.glm(fit.glm)
## Waiting for profiling to be done...
Compute the OR of 28/90/365-day mortality between different RRH groups AND diabetes(-/+).
CreateTableOne(vars=c("mort28", "mort90", "mort365"),
strata=c("dm", "rrh_cat"),
data=main2, test=FALSE)
## Stratified by dm:rrh_cat
## 0: 0 1: 0 0:[ 1, 3) 1:[ 1, 3)
## n 27356 14982 3216 2831
## mort28 = 1 (%) 3674 (13.4) 2110 (14.1) 418 (13.0) 318 (11.2)
## mort90 = 1 (%) 5125 (18.7) 3139 (21.0) 583 (18.1) 467 (16.5)
## mort365 = 1 (%) 7287 (26.6) 4720 (31.5) 764 (23.8) 656 (23.2)
## Stratified by dm:rrh_cat
## 0:[ 3, 5) 1:[ 3, 5) 0:[ 5,11] 1:[ 5,11]
## n 152 223 31 32
## mort28 = 1 (%) 23 (15.1) 22 ( 9.9) 8 (25.8) 6 (18.8)
## mort90 = 1 (%) 49 (32.2) 41 (18.4) 14 (45.2) 14 (43.8)
## mort365 = 1 (%) 60 (39.5) 68 (30.5) 19 (61.3) 19 (59.4)
main2$rrh <- as.factor(main2$rrh)
o1 <- plot_OR_by_level(main2, "dm", "mort28", factor.var2="rrh", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "dm", "mort90", factor.var2="rrh", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "dm", "mort365", factor.var2="rrh", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
o1 <- plot_OR_by_level(main2, "dm", "mort28", factor.var2="rrh_cat", include.ref.group.effect=TRUE)
o2 <- plot_OR_by_level(main2, "dm", "mort90", factor.var2="rrh_cat", include.ref.group.effect=TRUE)
o3 <- plot_OR_by_level(main2, "dm", "mort365", factor.var2="rrh_cat", include.ref.group.effect=TRUE)
grid.arrange(o1, o2, o3, ncol=3)
summary(fit.glm <- glm(mort28 ~ dm + rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ dm + rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.5458 -0.5458 -0.5399 -0.5144 2.0537
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.85204 0.01724 -107.447 <2e-16 ***
## dm1 0.02345 0.02751 0.852 0.3940
## rrh1 -0.12730 0.04056 -3.138 0.0017 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38591 on 48820 degrees of freedom
## AIC: 38597
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1516841 0.1622874
## dm1 0.9699056 1.0803425
## rrh1 0.8126961 0.9527719
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ dm + rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ dm + rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.6785 -0.6482 -0.6482 -0.6454 1.8734
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.45344 0.01504 -96.619 < 2e-16 ***
## dm1 0.10199 0.02366 4.310 1.63e-05 ***
## rrh1 -0.11154 0.03469 -3.215 0.0013 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47899 on 48820 degrees of freedom
## AIC: 47905
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2269527 0.2407383
## dm1 1.0571362 1.1598941
## rrh1 0.8353468 0.9570504
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ dm + rrh, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ dm + rrh, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8619 -0.7916 -0.7916 1.5299 1.7224
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.99970 0.01330 -75.162 < 2e-16 ***
## dm1 0.20077 0.02082 9.645 < 2e-16 ***
## rrh1 -0.22622 0.03098 -7.302 2.83e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57616 on 48820 degrees of freedom
## AIC: 57622
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3585030 0.3776905
## dm1 1.1734476 1.2732153
## rrh1 0.7503759 0.8472720
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort28 ~ dm + rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort28 ~ dm + rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.7126 -0.5458 -0.5399 -0.5124 2.0652
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.85201 0.01724 -107.436 < 2e-16 ***
## dm1 0.02337 0.02752 0.849 0.39578
## rrh_cat[ 1, 3) -0.13529 0.04192 -3.227 0.00125 **
## rrh_cat[ 3, 5) -0.15437 0.15968 -0.967 0.33367
## rrh_cat[ 5,11] 0.58734 0.30341 1.936 0.05289 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38602 on 48822 degrees of freedom
## Residual deviance: 38586 on 48818 degrees of freedom
## AIC: 38596
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.1516881 0.1622926
## dm1 0.9698101 1.0802705
## rrh_cat[ 1, 3) 0.8040375 0.9476541
## rrh_cat[ 3, 5) 0.6186078 1.1585182
## rrh_cat[ 5,11] 0.9559488 3.1707204
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort90 ~ dm + rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort90 ~ dm + rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.1045 -0.6484 -0.6484 -0.6325 1.8923
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.45277 0.01504 -96.572 < 2e-16 ***
## dm1 0.10017 0.02368 4.229 2.34e-05 ***
## rrh_cat[ 1, 3) -0.15499 0.03621 -4.281 1.86e-05 ***
## rrh_cat[ 3, 5) 0.23990 0.12169 1.971 0.0487 *
## rrh_cat[ 5,11] 1.17861 0.25394 4.641 3.46e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 47926 on 48822 degrees of freedom
## Residual deviance: 47866 on 48818 degrees of freedom
## AIC: 47876
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.2271050 0.2409003
## dm1 1.0551684 1.1578213
## rrh_cat[ 1, 3) 0.7974180 0.9190325
## rrh_cat[ 3, 5) 0.9962721 1.6062249
## rrh_cat[ 5,11] 1.9615259 5.3350886
sjp.glm(fit.glm)
## Waiting for profiling to be done...
summary(fit.glm <- glm(mort365 ~ dm + rrh_cat, data=main2, family="binomial"))
##
## Call:
## glm(formula = mort365 ~ dm + rrh_cat, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4036 -0.7919 -0.7919 1.5305 1.7452
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -0.99894 0.01330 -75.095 < 2e-16 ***
## dm1 0.19874 0.02084 9.538 < 2e-16 ***
## rrh_cat[ 1, 3) -0.27796 0.03232 -8.599 < 2e-16 ***
## rrh_cat[ 3, 5) 0.22187 0.10967 2.023 0.0431 *
## rrh_cat[ 5,11] 1.31772 0.25806 5.106 3.29e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57753 on 48822 degrees of freedom
## Residual deviance: 57561 on 48818 degrees of freedom
## AIC: 57571
##
## Number of Fisher Scoring iterations: 4
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.3587724 0.3779770
## dm1 1.1710320 1.2706937
## rrh_cat[ 1, 3) 0.7106387 0.8066419
## rrh_cat[ 3, 5) 1.0043393 1.5443958
## rrh_cat[ 5,11] 2.2659738 6.2652578
sjp.glm(fit.glm)
## Waiting for profiling to be done...
Stochastic gradient boosting algorithm was used to find the optimal prediction model to balance the RH and non-RH groups.
However, the propensity score groups (for both RH and RRH) seem not balanced after using the model. (why??????)
We also constructed the propensity score model for RRH.
Next, we created the logistic regression model for 28-day mortality based on the propensity score of RH in diabetes and non-diabetes groups.
I fit two logistic regression models:
If i use model1 (skip): propensity score is significant to increase the OR, but diabetes is not significant (but decrease the OR) with p-value around 0.06. Non-diabetes and diabetes have similar trend.
If i use all variables, with binary/categorized RH: diabetes(+) increases OR, RH(+) decreases OR -> this one is not agree with the previous observation (inverse)
# fit.lm <- lm(mort28 ~ rh + dm + ins_mean + age + gender + sofa_cat + elixhauser_hospital + tpn + vasop + ventilat,
# data=main2)
# summary(fit.lm)
# confint(fit.lm)
# sjp.lm(fit.lm, type="coef")
fit.glm <- glm(mort28 ~ rh + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rh + dm + ins_iv + ins_sc + age + gender +
## sofa_1 + elixhauser_hospital + tpn + vasop + ventilat, family = "binomial",
## data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.6101 -0.5306 -0.3719 -0.2344 3.0893
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.8111728 0.0800252 -60.121 < 2e-16 ***
## rh1 -0.3217240 0.0403608 -7.971 1.57e-15 ***
## dm1 0.1294490 0.0307783 4.206 2.60e-05 ***
## ins_iv1 -0.5404286 0.0350482 -15.420 < 2e-16 ***
## ins_sc1 -0.4183850 0.0381500 -10.967 < 2e-16 ***
## age 0.0312665 0.0009983 31.319 < 2e-16 ***
## gender1 -0.1273617 0.0293892 -4.334 1.47e-05 ***
## sofa_1 0.1464782 0.0063440 23.089 < 2e-16 ***
## elixhauser_hospital 0.0801221 0.0023620 33.921 < 2e-16 ***
## tpn1 -0.0817534 0.0607529 -1.346 0.178
## vasop1 1.7863971 0.0519046 34.417 < 2e-16 ***
## ventilat1 0.3956411 0.0379630 10.422 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 32037 on 48802 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 32061
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.008138309
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.006950597 0.00951203
## rh1 0.669547585 0.78432981
## dm1 1.071490840 1.20889744
## ins_iv1 0.543719397 0.62380083
## ins_sc1 0.610500980 0.70898959
## age 1.029750591 1.03378870
## gender1 0.831144547 0.93263697
## sofa_1 1.143455744 1.17224999
## elixhauser_hospital 1.078420527 1.08845275
## tpn1 0.817359656 1.03718503
## vasop1 5.391238386 6.60785898
## ventilat1 1.378817256 1.60007287
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rh_freq + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rh_freq + dm + ins_iv + ins_sc + age +
## gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
## family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.6131 -0.5305 -0.3721 -0.2345 3.0883
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.8224648 0.0801170 -60.193 < 2e-16 ***
## rh_freq -0.1909125 0.0215265 -8.869 < 2e-16 ***
## dm1 0.1334225 0.0307931 4.333 1.47e-05 ***
## ins_iv1 -0.5279062 0.0350484 -15.062 < 2e-16 ***
## ins_sc1 -0.4275182 0.0382233 -11.185 < 2e-16 ***
## age 0.0313150 0.0009993 31.337 < 2e-16 ***
## gender1 -0.1297856 0.0294109 -4.413 1.02e-05 ***
## sofa_1 0.1460853 0.0063495 23.007 < 2e-16 ***
## elixhauser_hospital 0.0801498 0.0023619 33.935 < 2e-16 ***
## tpn1 -0.0415289 0.0611459 -0.679 0.497
## vasop1 1.8148217 0.0523949 34.637 < 2e-16 ***
## ventilat1 0.3887436 0.0378943 10.259 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 32015 on 48802 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 32039
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.008046928
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.006871298 0.009406899
## rh_freq 0.791653592 0.861369999
## dm1 1.075725968 1.213746220
## ins_iv1 0.550569623 0.631660572
## ins_sc1 0.604862710 0.702643454
## age 1.029798603 1.033840848
## gender1 0.829096892 0.930418430
## sofa_1 1.142994320 1.171802154
## elixhauser_hospital 1.078450769 1.088482665
## tpn1 0.850265456 1.080604372
## vasop1 5.541494387 6.805097481
## ventilat1 1.369525154 1.588861962
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rh + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rh + dm + ins_iv + ins_sc + age + gender +
## sofa_1 + elixhauser_hospital, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.2307 -0.5562 -0.3887 -0.2439 3.0685
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.6793757 0.0769848 -60.783 < 2e-16 ***
## rh1 -0.1652079 0.0380575 -4.341 1.42e-05 ***
## dm1 0.1410526 0.0300053 4.701 2.59e-06 ***
## ins_iv1 -0.4276056 0.0335742 -12.736 < 2e-16 ***
## ins_sc1 -0.4078805 0.0370574 -11.007 < 2e-16 ***
## age 0.0294385 0.0009659 30.477 < 2e-16 ***
## gender1 -0.1321986 0.0286922 -4.607 4.08e-06 ***
## sofa_1 0.2232438 0.0051261 43.551 < 2e-16 ***
## elixhauser_hospital 0.0846021 0.0022798 37.109 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 33334 on 48805 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 33352
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.009284808
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.007977627 0.01078806
## rh1 0.786573608 0.91313228
## dm1 1.085648269 1.22116193
## ins_iv1 0.610442616 0.69631402
## ins_sc1 0.618280622 0.71495325
## age 1.027934732 1.03183456
## gender1 0.828266577 0.92686952
## sofa_1 1.237648739 1.26277098
## elixhauser_hospital 1.083438008 1.09316427
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rh_freq + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rh_freq + dm + ins_iv + ins_sc + age +
## gender + sofa_1 + elixhauser_hospital, family = "binomial",
## data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.2607 -0.5563 -0.3886 -0.2437 3.0724
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.684067 0.076974 -60.853 < 2e-16 ***
## rh_freq -0.087370 0.020113 -4.344 1.40e-05 ***
## dm1 0.142077 0.030011 4.734 2.20e-06 ***
## ins_iv1 -0.425604 0.033611 -12.663 < 2e-16 ***
## ins_sc1 -0.411395 0.037100 -11.089 < 2e-16 ***
## age 0.029425 0.000966 30.459 < 2e-16 ***
## gender1 -0.133561 0.028701 -4.654 3.26e-06 ***
## sofa_1 0.222832 0.005106 43.640 < 2e-16 ***
## elixhauser_hospital 0.084791 0.002279 37.203 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 33333 on 48805 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 33351
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.009241356
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.007940462 0.01073733
## rh_freq 0.880467486 0.95271087
## dm1 1.086748875 1.22242689
## ins_iv1 0.611618659 0.69775480
## ins_sc1 0.616060047 0.71250443
## age 1.027920265 1.03182050
## gender1 0.827125603 0.92562283
## sofa_1 1.237187732 1.26220190
## elixhauser_hospital 1.083643500 1.09336884
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rrh + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rrh + dm + ins_iv + ins_sc + age + gender +
## sofa_1 + elixhauser_hospital + tpn + vasop + ventilat, family = "binomial",
## data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.6228 -0.5307 -0.3707 -0.2341 3.1101
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.8095663 0.0800578 -60.076 < 2e-16 ***
## rrh1 -0.4758816 0.0480689 -9.900 < 2e-16 ***
## dm1 0.1239690 0.0307572 4.031 5.56e-05 ***
## ins_iv1 -0.5309334 0.0348586 -15.231 < 2e-16 ***
## ins_sc1 -0.4258208 0.0382095 -11.144 < 2e-16 ***
## age 0.0312458 0.0009989 31.280 < 2e-16 ***
## gender1 -0.1291975 0.0294109 -4.393 1.12e-05 ***
## sofa_1 0.1467086 0.0063402 23.140 < 2e-16 ***
## elixhauser_hospital 0.0793803 0.0023636 33.584 < 2e-16 ***
## tpn1 -0.0738352 0.0607337 -1.216 0.224
## vasop1 1.7896897 0.0519611 34.443 < 2e-16 ***
## ventilat1 0.3965242 0.0378874 10.466 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 31999 on 48802 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 32023
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.008151394
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.006961314 0.009527922
## rrh1 0.565141628 0.682340793
## dm1 1.065678185 1.202240204
## ins_iv1 0.549110683 0.629518203
## ins_sc1 0.605906808 0.703818330
## age 1.029728097 1.033768459
## gender1 0.829584463 0.930965709
## sofa_1 1.143727795 1.172511022
## elixhauser_hospital 1.077617518 1.087649076
## tpn1 0.823888053 1.045390790
## vasop1 5.408444581 6.630417751
## ventilat1 1.380240016 1.601249582
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rrh_freq + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rrh_freq + dm + ins_iv + ins_sc + age +
## gender + sofa_1 + elixhauser_hospital + tpn + vasop + ventilat,
## family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.6184 -0.5303 -0.3715 -0.2345 3.1557
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.8155550 0.0800836 -60.132 < 2e-16 ***
## rrh_freq -0.2818523 0.0308194 -9.145 < 2e-16 ***
## dm1 0.1245701 0.0307575 4.050 5.12e-05 ***
## ins_iv1 -0.5349882 0.0348445 -15.354 < 2e-16 ***
## ins_sc1 -0.4300633 0.0382480 -11.244 < 2e-16 ***
## age 0.0312761 0.0009991 31.303 < 2e-16 ***
## gender1 -0.1299781 0.0294121 -4.419 9.91e-06 ***
## sofa_1 0.1458819 0.0063422 23.002 < 2e-16 ***
## elixhauser_hospital 0.0796093 0.0023627 33.693 < 2e-16 ***
## tpn1 -0.0607182 0.0608717 -0.997 0.319
## vasop1 1.7986602 0.0521122 34.515 < 2e-16 ***
## ventilat1 0.3880714 0.0378648 10.249 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 32010 on 48802 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 32034
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.008102724
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.006919396 0.009471505
## rrh_freq 0.709642370 0.800794388
## dm1 1.066318273 1.202963803
## ins_iv1 0.546903007 0.626952524
## ins_sc1 0.603295688 0.700891005
## age 1.029758880 1.033800280
## gender1 0.828935256 0.930241254
## sofa_1 1.142777962 1.171546712
## elixhauser_hospital 1.077866141 1.087896245
## tpn1 0.834545459 1.059486539
## vasop1 5.455614508 6.692211542
## ventilat1 1.368683472 1.587701571
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rrh + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rrh + dm + ins_iv + ins_sc + age + gender +
## sofa_1 + elixhauser_hospital, family = "binomial", data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.2442 -0.5557 -0.3878 -0.2441 3.0929
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.6745051 0.0769938 -60.713 < 2e-16 ***
## rrh1 -0.3162014 0.0453685 -6.970 3.18e-12 ***
## dm1 0.1394424 0.0299785 4.651 3.30e-06 ***
## ins_iv1 -0.4102501 0.0333695 -12.294 < 2e-16 ***
## ins_sc1 -0.4157914 0.0371122 -11.204 < 2e-16 ***
## age 0.0293981 0.0009662 30.426 < 2e-16 ***
## gender1 -0.1345786 0.0287107 -4.687 2.77e-06 ***
## sofa_1 0.2249422 0.0050975 44.128 < 2e-16 ***
## elixhauser_hospital 0.0840667 0.0022813 36.851 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 33302 on 48805 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 33320
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.009330142
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.00801643 0.01084092
## rrh1 0.66654573 0.79629683
## dm1 1.08395799 1.21913269
## ins_iv1 0.62137908 0.70822039
## ins_sc1 0.61334240 0.70939524
## age 1.02789263 1.03179347
## gender1 0.82626736 0.92469941
## sofa_1 1.23982215 1.26484667
## elixhauser_hospital 1.08285500 1.09258233
sjp.glm(fit.glm)
## Waiting for profiling to be done...
fit.glm <- glm(mort28 ~ rrh_freq + dm + ins_iv + ins_sc + age + gender + sofa_1 + elixhauser_hospital,
data=main2,
family="binomial")
summary(fit.glm)
##
## Call:
## glm(formula = mort28 ~ rrh_freq + dm + ins_iv + ins_sc + age +
## gender + sofa_1 + elixhauser_hospital, family = "binomial",
## data = main2)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.2359 -0.5558 -0.3884 -0.2438 3.0722
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.6795849 0.0769828 -60.787 < 2e-16 ***
## rrh_freq -0.1700553 0.0293272 -5.799 6.69e-09 ***
## dm1 0.1394809 0.0299749 4.653 3.27e-06 ***
## ins_iv1 -0.4185296 0.0333610 -12.545 < 2e-16 ***
## ins_sc1 -0.4161512 0.0371257 -11.209 < 2e-16 ***
## age 0.0294025 0.0009662 30.432 < 2e-16 ***
## gender1 -0.1348618 0.0287079 -4.698 2.63e-06 ***
## sofa_1 0.2236117 0.0050876 43.952 < 2e-16 ***
## elixhauser_hospital 0.0843793 0.0022798 37.011 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 38569 on 48813 degrees of freedom
## Residual deviance: 33317 on 48805 degrees of freedom
## (9 observations deleted due to missingness)
## AIC: 33335
##
## Number of Fisher Scoring iterations: 5
exp(coef(fit.glm)[1])
## (Intercept)
## 0.009282867
#confint(fit.glm)
exp(confint(fit.glm))
## Waiting for profiling to be done...
## 2.5 % 97.5 %
## (Intercept) 0.007975984 0.01078575
## rrh_freq 0.795925734 0.89291186
## dm1 1.084007346 1.21917109
## ins_iv1 0.616264024 0.70236722
## ins_sc1 0.613105900 0.70915920
## age 1.027897214 1.03179786
## gender1 0.826037869 0.92443260
## sofa_1 1.238197540 1.26314064
## elixhauser_hospital 1.083196557 1.09292081
sjp.glm(fit.glm)
## Waiting for profiling to be done...
full.model <- glm(mort28 ~ rh + dm + ins + age + gender + sofa_cat + elixhauser_hospital + tpn + vasop + ventilat,
data=main2, family="binomial")
stepAIC(full.model, scope=list(lower=~dm)) # AIC
## Start: AIC=32217.16
## mort28 ~ rh + dm + ins + age + gender + sofa_cat + elixhauser_hospital +
## tpn + vasop + ventilat
##
## Df Deviance AIC
## - tpn 1 32192 32216
## <none> 32191 32217
## - gender 1 32210 32234
## - rh 1 32264 32288
## - ventilat 1 32266 32290
## - ins 1 32447 32471
## - sofa_cat 3 32677 32697
## - age 1 33224 33248
## - elixhauser_hospital 1 33433 33457
## - vasop 1 33563 33587
##
## Step: AIC=32215.9
## mort28 ~ rh + dm + ins + age + gender + sofa_cat + elixhauser_hospital +
## vasop + ventilat
##
## Df Deviance AIC
## <none> 32192 32216
## - gender 1 32211 32233
## - ventilat 1 32266 32288
## - rh 1 32267 32289
## - ins 1 32448 32470
## - sofa_cat 3 32679 32697
## - age 1 33233 33255
## - elixhauser_hospital 1 33439 33461
## - vasop 1 33579 33601
##
## Call: glm(formula = mort28 ~ rh + dm + ins + age + gender + sofa_cat +
## elixhauser_hospital + vasop + ventilat, family = "binomial",
## data = main2)
##
## Coefficients:
## (Intercept) rh1 dm1
## -4.88493 -0.33460 0.10571
## ins1 age gender1
## -0.50553 0.03045 -0.12710
## sofa_cat[1, 3) sofa_cat[3, 6) sofa_cat[6,15]
## 0.35352 0.91178 1.07617
## elixhauser_hospital vasop1 ventilat1
## 0.08159 1.89672 0.33804
##
## Degrees of Freedom: 48813 Total (i.e. Null); 48802 Residual
## (9 observations deleted due to missingness)
## Null Deviance: 38570
## Residual Deviance: 32190 AIC: 32220
stepAIC(full.model, scope=list(lower=~dm), k=log(nrow(main))) # BIC
## Start: AIC=32331.51
## mort28 ~ rh + dm + ins + age + gender + sofa_cat + elixhauser_hospital +
## tpn + vasop + ventilat
##
## Df Deviance AIC
## - tpn 1 32192 32321
## <none> 32191 32332
## - gender 1 32210 32340
## - rh 1 32264 32394
## - ventilat 1 32266 32395
## - ins 1 32447 32576
## - sofa_cat 3 32677 32785
## - age 1 33224 33354
## - elixhauser_hospital 1 33433 33563
## - vasop 1 33563 33693
##
## Step: AIC=32321.46
## mort28 ~ rh + dm + ins + age + gender + sofa_cat + elixhauser_hospital +
## vasop + ventilat
##
## Df Deviance AIC
## <none> 32192 32321
## - gender 1 32211 32329
## - ventilat 1 32266 32385
## - rh 1 32267 32386
## - ins 1 32448 32566
## - sofa_cat 3 32679 32776
## - age 1 33233 33351
## - elixhauser_hospital 1 33439 33558
## - vasop 1 33579 33698
##
## Call: glm(formula = mort28 ~ rh + dm + ins + age + gender + sofa_cat +
## elixhauser_hospital + vasop + ventilat, family = "binomial",
## data = main2)
##
## Coefficients:
## (Intercept) rh1 dm1
## -4.88493 -0.33460 0.10571
## ins1 age gender1
## -0.50553 0.03045 -0.12710
## sofa_cat[1, 3) sofa_cat[3, 6) sofa_cat[6,15]
## 0.35352 0.91178 1.07617
## elixhauser_hospital vasop1 ventilat1
## 0.08159 1.89672 0.33804
##
## Degrees of Freedom: 48813 Total (i.e. Null); 48802 Residual
## (9 observations deleted due to missingness)
## Null Deviance: 38570
## Residual Deviance: 32190 AIC: 32220
CreateTableOne(vars=c("ps.groups", "ps.groups2", "age", "gender", "a1c_pre_icu", "sofa_1", "elixhauser_hospital",
"hypoglycemia", "hypoglycemia_freq", "hyperglycemia", "hyperglycemia_freq",
"ins_mean", "tpn", "vasop", "ventilat", "mort28", "mort90", "mort365",
"survival_day", "icu_los", "hosp_los"),
strata=c("dm"),
data=main2, test=TRUE) %>% print(
printToggle = FALSE,
showAllLevels = TRUE,
cramVars = "kon"
) %>% {data.frame(
variable_name = gsub(" ", " ", rownames(.), fixed = TRUE), .,
row.names = NULL,
check.names = FALSE,
stringsAsFactors = FALSE)} %>% knitr::kable()
## Warning in ModuleReturnVarsExist(vars, data): The data frame does not have:
## ps.groups ps.groups2 ins_mean Dropped
| variable_name | level | 0 | 1 | p | test |
|---|---|---|---|---|---|
| n | 30755 | 18068 | |||
| age (mean (sd)) | 62.93 (18.43) | 66.09 (14.94) | <0.001 | ||
| gender (%) | 0 | 13408 (43.6) | 7957 (44.0) | 0.346 | |
| 1 | 17347 (56.4) | 10111 (56.0) | |||
| a1c_pre_icu (mean (sd)) | 5.71 (0.41) | 7.30 (1.85) | <0.001 | ||
| sofa_1 (mean (sd)) | 2.95 (2.83) | 2.88 (2.85) | 0.014 | ||
| elixhauser_hospital (mean (sd)) | 2.63 (6.27) | 2.23 (6.49) | <0.001 | ||
| hypoglycemia (%) | 0 | 26536 (86.3) | 12823 (71.0) | <0.001 | |
| 1 | 4219 (13.7) | 5245 (29.0) | |||
| hypoglycemia_freq (mean (sd)) | 0.28 (1.04) | 0.65 (1.57) | <0.001 | ||
| hyperglycemia (%) | 0 | 20125 (65.4) | 5035 (27.9) | <0.001 | |
| 1 | 10630 (34.6) | 13033 (72.1) | |||
| hyperglycemia_freq (mean (sd)) | 0.96 (2.41) | 3.77 (5.36) | <0.001 | ||
| tpn (%) | 0 | 29168 (94.8) | 17225 (95.3) | 0.016 | |
| 1 | 1587 ( 5.2) | 843 ( 4.7) | |||
| vasop (%) | 0 | 29397 (95.6) | 17109 (94.7) | <0.001 | |
| 1 | 1358 ( 4.4) | 959 ( 5.3) | |||
| ventilat (%) | 0 | 15453 (50.2) | 9177 (50.8) | 0.248 | |
| 1 | 15302 (49.8) | 8891 (49.2) | |||
| mort28 (%) | 0 | 26632 (86.6) | 15612 (86.4) | 0.568 | |
| 1 | 4123 (13.4) | 2456 (13.6) | |||
| mort90 (%) | 0 | 24984 (81.2) | 14407 (79.7) | <0.001 | |
| 1 | 5771 (18.8) | 3661 (20.3) | |||
| mort365 (%) | 0 | 22625 (73.6) | 12605 (69.8) | <0.001 | |
| 1 | 8130 (26.4) | 5463 (30.2) | |||
| survival_day (mean (sd)) | 501.58 (751.67) | 528.60 (743.80) | 0.009 | ||
| icu_los (mean (sd)) | 3.95 (5.83) | 4.33 (6.26) | <0.001 | ||
| hosp_los (mean (sd)) | 9.78 (10.83) | 10.54 (10.83) | <0.001 |